Skip to content

Commit 6d6f946

Browse files
committed
revert handling of NaN cases to before this PR - add extra check to avoid header jumps
1 parent 212b144 commit 6d6f946

File tree

1 file changed

+18
-6
lines changed

1 file changed

+18
-6
lines changed

src/traces/treemap/plot.js

+18-6
Original file line numberDiff line numberDiff line change
@@ -162,14 +162,14 @@ function plotOne(gd, cd, element, transitionOpts) {
162162
var cenX = -vpw / 2 + gs.l + gs.w * (domain.x[1] + domain.x[0]) / 2;
163163
var cenY = -vph / 2 + gs.t + gs.h * (1 - (domain.y[1] + domain.y[0]) / 2);
164164

165-
var viewMapX = function(x) { return cenX + (x || 0); };
166-
var viewMapY = function(y) { return cenY + (y || 0); };
165+
var viewMapX = function(x) { return cenX + x; };
166+
var viewMapY = function(y) { return cenY + y; };
167167

168168
var barY0 = viewMapY(0);
169169
var barX0 = viewMapX(0);
170170

171-
var viewBarX = function(x) { return barX0 + (x || 0); };
172-
var viewBarY = function(y) { return barY0 + (y || 0); };
171+
var viewBarX = function(x) { return barX0 + x; };
172+
var viewBarY = function(y) { return barY0 + y; };
173173

174174
function pos(x, y) {
175175
return x + ',' + y;
@@ -315,6 +315,11 @@ function plotOne(gd, cd, element, transitionOpts) {
315315
if(opts.isHeader) {
316316
x0 += pad.l - TEXTPAD;
317317
x1 -= pad.r - TEXTPAD;
318+
if(x0 >= x1) {
319+
var mid = (x0 + x1) / 2;
320+
x0 = mid - TEXTPAD;
321+
x1 = mid + TEXTPAD;
322+
}
318323

319324
// limit the drawing area for headers
320325
var limY;
@@ -343,13 +348,20 @@ function plotOne(gd, cd, element, transitionOpts) {
343348
else if(offsetDir === 'right') transform.targetX += deltaX;
344349
}
345350

351+
transform.targetX = viewMapX(transform.targetX);
352+
transform.targetY = viewMapY(transform.targetY);
353+
354+
if(isNaN(transform.targetX) || isNaN(transform.targetY)) {
355+
return {};
356+
}
357+
346358
return {
347359
scale: transform.scale,
348360
rotate: transform.rotate,
349361
textX: transform.textX,
350362
textY: transform.textY,
351-
targetX: viewMapX(transform.targetX),
352-
targetY: viewMapY(transform.targetY)
363+
targetX: transform.targetX,
364+
targetY: transform.targetY
353365
};
354366
};
355367

0 commit comments

Comments
 (0)