22
33var d3 = require ( '@plotly/d3' ) ;
44var d3Hierarchy = require ( 'd3-hierarchy' ) ;
5+ var interpolate = require ( 'd3-interpolate' ) . interpolate ;
56
67var Drawing = require ( '../../components/drawing' ) ;
78var Lib = require ( '../../lib' ) ;
@@ -307,7 +308,9 @@ function plotOne(gd, cd, element, transitionOpts) {
307308 // if pt to remove:
308309 // - if 'below' where the root-node used to be: shrink it radially inward
309310 // - otherwise, collapse it clockwise or counterclockwise which ever is shortest to theta=0
310- next = pt . rpx1 < entryPrev . rpx1 ? { rpx0 : 0 , rpx1 : 0 } : { x0 : a , x1 : a } ;
311+ next = pt . rpx1 < entryPrev . rpx1 ?
312+ { x0 : pt . x0 , x1 : pt . x1 , rpx0 : 0 , rpx1 : 0 } :
313+ { x0 : a , x1 : a , rpx0 : pt . rpx0 , rpx1 : pt . rpx1 } ;
311314 } else {
312315 // this happens when maxdepth is set, when leaves must
313316 // be removed and the rootPt is new (i.e. does not have a 'prev' object)
@@ -326,14 +329,14 @@ function plotOne(gd, cd, element, transitionOpts) {
326329 }
327330 } ) ;
328331 var n = parentChildren . length ;
329- var interp = d3 . interpolate ( parent . x0 , parent . x1 ) ;
332+ var interp = interpolate ( parent . x0 , parent . x1 ) ;
330333 next = {
331334 rpx0 : rMax , rpx1 : rMax ,
332335 x0 : interp ( ci / n ) , x1 : interp ( ( ci + 1 ) / n )
333336 } ;
334337 }
335338
336- return d3 . interpolate ( prev , next ) ;
339+ return interpolate ( prev , next ) ;
337340 }
338341
339342 function makeUpdateSliceInterpolator ( pt ) {
@@ -372,7 +375,7 @@ function plotOne(gd, cd, element, transitionOpts) {
372375 }
373376 }
374377
375- return d3 . interpolate ( prev , next ) ;
378+ return interpolate ( prev , next ) ;
376379 }
377380
378381 function makeUpdateTextInterpolator ( pt ) {
@@ -419,19 +422,19 @@ function plotOne(gd, cd, element, transitionOpts) {
419422 }
420423 }
421424
422- var textPosAngleFn = d3 . interpolate ( prev . transform . textPosAngle , pt . transform . textPosAngle ) ;
423- var rpx1Fn = d3 . interpolate ( prev . rpx1 , pt . rpx1 ) ;
424- var x0Fn = d3 . interpolate ( prev . x0 , pt . x0 ) ;
425- var x1Fn = d3 . interpolate ( prev . x1 , pt . x1 ) ;
426- var scaleFn = d3 . interpolate ( prev . transform . scale , transform . scale ) ;
427- var rotateFn = d3 . interpolate ( prev . transform . rotate , transform . rotate ) ;
425+ var textPosAngleFn = interpolate ( prev . transform . textPosAngle , pt . transform . textPosAngle ) ;
426+ var rpx1Fn = interpolate ( prev . rpx1 , pt . rpx1 ) ;
427+ var x0Fn = interpolate ( prev . x0 , pt . x0 ) ;
428+ var x1Fn = interpolate ( prev . x1 , pt . x1 ) ;
429+ var scaleFn = interpolate ( prev . transform . scale , transform . scale ) ;
430+ var rotateFn = interpolate ( prev . transform . rotate , transform . rotate ) ;
428431
429432 // smooth out start/end from entry, to try to keep text inside sector
430433 // while keeping transition smooth
431434 var pow = transform . rCenter === 0 ? 3 :
432435 prev . transform . rCenter === 0 ? 1 / 3 :
433436 1 ;
434- var _rCenterFn = d3 . interpolate ( prev . transform . rCenter , transform . rCenter ) ;
437+ var _rCenterFn = interpolate ( prev . transform . rCenter , transform . rCenter ) ;
435438 var rCenterFn = function ( t ) { return _rCenterFn ( Math . pow ( t , pow ) ) ; } ;
436439
437440 return function ( t ) {
@@ -476,7 +479,7 @@ function plotOne(gd, cd, element, transitionOpts) {
476479 var parentChildren = parent . children ;
477480 var ci = parentChildren . indexOf ( pt ) ;
478481 var n = parentChildren . length ;
479- var interp = d3 . interpolate ( parentPrev . x0 , parentPrev . x1 ) ;
482+ var interp = interpolate ( parentPrev . x0 , parentPrev . x1 ) ;
480483 out . x0 = interp ( ci / n ) ;
481484 out . x1 = interp ( ci / n ) ;
482485 } else {
0 commit comments