@@ -182,6 +182,7 @@ import Tooltip from 'appirio-tech-react-components/components/Tooltip/Tooltip.js
182182
183183 var mousemoveInterval = null
184184
185+ /* render react tooltip component */
185186 ReactDOM . unmountComponentAtNode ( document . getElementById ( 'chart-tooltip' ) )
186187 ReactDOM . render ( < Tooltip popMethod = 'click' >
187188 < div className = 'tooltip-target' > </ div >
@@ -193,7 +194,8 @@ import Tooltip from 'appirio-tech-react-components/components/Tooltip/Tooltip.js
193194 </ div >
194195 </ div >
195196 </ Tooltip >
196- , document . getElementById ( 'chart-tooltip' ) )
197+ , document . getElementById ( 'chart-tooltip' ) )
198+
197199 $scope . isFocused = false
198200 svg . selectAll ( 'rect.hover' )
199201 . data ( ranges )
@@ -216,6 +218,8 @@ import Tooltip from 'appirio-tech-react-components/components/Tooltip/Tooltip.js
216218 $scope . highlightedRating = d . start
217219 $scope . displayCoders = true
218220 $scope . numCoders = d . number
221+
222+ /* update tooltip location on mouseover, feature currently not inbuilt in react tooltip component */
219223 d3 . select ( '#chart-tooltip' )
220224 . style ( 'left' , ( d3 . event . pageX - 4 ) + 'px' )
221225 . style ( 'top' , ( d3 . event . pageY - 4 ) + 'px' )
@@ -236,9 +240,12 @@ import Tooltip from 'appirio-tech-react-components/components/Tooltip/Tooltip.js
236240 $scope . $digest ( )
237241 } )
238242 . on ( 'mousemove' , function ( d ) {
239- window . clearTimeout ( mousemoveInterval )
243+
244+ /* update tooltip on mousemove, using interval of 50ms to improve performance */
245+ window . clearTimeout ( mousemoveInterval )
240246 var left = ( d3 . event . pageX - 4 )
241247 var top = ( d3 . event . pageY - 4 )
248+
242249 mousemoveInterval = window . setTimeout ( function ( ) {
243250 d3 . select ( '#chart-tooltip' )
244251 . style ( 'left' , left + 'px' )
@@ -260,7 +267,8 @@ import Tooltip from 'appirio-tech-react-components/components/Tooltip/Tooltip.js
260267 $scope . isFocused = false
261268 $scope . $digest ( )
262269 } )
263-
270+
271+ /* hide tooltip when clicked anywhere outside */
264272 d3 . select ( 'body' ) . on ( 'click' , function ( ) {
265273 if ( ( d3 . event . target . classList [ 0 ] != 'tooltip-target' ) && ! $ ( '#chart-tooltip .tooltip-container' ) . hasClass ( 'tooltip-hide' ) &&
266274 ! isInArray ( d3 . event . target . classList [ 0 ] , [ 'tooltip-content-container' , 'tooltip-container' , 'tooltip-body' , 'Tooltip' ] ) &&
0 commit comments