@@ -205,18 +205,16 @@ exports.loneHover = function loneHover(hoverItems, opts) {
205205 } ;
206206 } ) ;
207207
208- var container3 = d3 . select ( opts . container ) ;
209- var outerContainer3 = opts . outerContainer ? d3 . select ( opts . outerContainer ) : container3 ;
208+ var rotateLabels = false ;
210209
211- var fullOpts = {
210+ var hoverLabel = createHoverText ( pointsData , {
211+ gd : gd ,
212212 hovermode : 'closest' ,
213- rotateLabels : false ,
213+ rotateLabels : rotateLabels ,
214214 bgColor : opts . bgColor || Color . background ,
215- container : container3 ,
216- outerContainer : outerContainer3
217- } ;
218-
219- var hoverLabel = createHoverText ( pointsData , fullOpts , gd ) ;
215+ container : d3 . select ( opts . container ) ,
216+ outerContainer : opts . outerContainer || opts . container
217+ } ) ;
220218
221219 // Fix vertical overlap
222220 var tooltipSpacing = 5 ;
@@ -243,7 +241,7 @@ exports.loneHover = function loneHover(hoverItems, opts) {
243241
244242 var scaleX = gd . _fullLayout . _invScaleX ;
245243 var scaleY = gd . _fullLayout . _invScaleY ;
246- alignHoverText ( hoverLabel , fullOpts . rotateLabels , scaleX , scaleY ) ;
244+ alignHoverText ( hoverLabel , rotateLabels , scaleX , scaleY ) ;
247245
248246 return multiHover ? hoverLabel : hoverLabel . node ( ) ;
249247} ;
@@ -657,7 +655,6 @@ function _hover(gd, evt, subplot, noHoverEvent) {
657655 var spikelineOpts = {
658656 fullLayout : fullLayout ,
659657 container : fullLayout . _hoverlayer ,
660- outerContainer : fullLayout . _paperdiv ,
661658 event : evt
662659 } ;
663660 var oldspikepoints = gd . _spikepoints ;
@@ -826,17 +823,16 @@ function _hover(gd, evt, subplot, noHoverEvent) {
826823 fullLayout . paper_bgcolor
827824 ) ;
828825
829- var labelOpts = {
826+ var hoverLabels = createHoverText ( hoverData , {
827+ gd : gd ,
830828 hovermode : hovermode ,
831829 rotateLabels : rotateLabels ,
832830 bgColor : bgColor ,
833831 container : fullLayout . _hoverlayer ,
834- outerContainer : fullLayout . _paperdiv ,
832+ outerContainer : fullLayout . _paper . node ( ) ,
835833 commonLabelOpts : fullLayout . hoverlabel ,
836834 hoverdistance : fullLayout . hoverdistance
837- } ;
838-
839- var hoverLabels = createHoverText ( hoverData , labelOpts , gd ) ;
835+ } ) ;
840836
841837 if ( ! helpers . isUnifiedHover ( hovermode ) ) {
842838 hoverAvoidOverlaps ( hoverLabels , rotateLabels ? 'xa' : 'ya' , fullLayout ) ;
@@ -874,7 +870,8 @@ function hoverDataKey(d) {
874870
875871var EXTRA_STRING_REGEX = / < e x t r a > ( [ \s \S ] * ) < \/ e x t r a > / ;
876872
877- function createHoverText ( hoverData , opts , gd ) {
873+ function createHoverText ( hoverData , opts ) {
874+ var gd = opts . gd ;
878875 var fullLayout = gd . _fullLayout ;
879876 var hovermode = opts . hovermode ;
880877 var rotateLabels = opts . rotateLabels ;
@@ -894,7 +891,7 @@ function createHoverText(hoverData, opts, gd) {
894891 var ya = c0 . ya ;
895892 var axLetter = hovermode . charAt ( 0 ) ;
896893 var t0 = c0 [ axLetter + 'Label' ] ;
897- var outerContainerBB = outerContainer . node ( ) . getBoundingClientRect ( ) ;
894+ var outerContainerBB = outerContainer . getBoundingClientRect ( ) ;
898895 var outerTop = outerContainerBB . top ;
899896 var outerWidth = outerContainerBB . width ;
900897 var outerHeight = outerContainerBB . height ;
0 commit comments