@@ -7,7 +7,7 @@ function HolisticVisualizer(domRootID, dat, params) {
77 myViz . domRoot = $ ( '#' + domRootID ) ;
88 myViz . domRootD3 = d3 . select ( '#' + domRootID ) ;
99
10- myViz . domRoot . html ( '<div class="HolisticVisualizer"></div><div id="alt-visual"></div>' ) ;
10+ myViz . domRoot . html ( '<div class="HolisticVisualizer"></div><div id="alt-visual"></div><div id="tooltip"></div> ' ) ;
1111 myViz . domRoot = myViz . domRoot . find ( 'div.HolisticVisualizer' ) ;
1212 myViz . domRootD3 = myViz . domRootD3 . select ( 'div.HolisticVisualizer' ) ;
1313
@@ -38,6 +38,7 @@ function HolisticVisualizer(domRootID, dat, params) {
3838
3939 params . hideCode = true ;
4040 myViz . altVisualizer = new ExecutionVisualizer ( 'alt-visual' , dat , params ) ;
41+ myViz . tooltipVisualizer = new ExecutionVisualizer ( 'tooltip' , dat , params ) ;
4142
4243 /*
4344 * =================================
@@ -523,15 +524,13 @@ function HolisticVisualizer(domRootID, dat, params) {
523524
524525 var svgOffset = myViz . domRoot . find ( 'div#slider svg' ) . offset ( ) ;
525526
526- // clear old tooltip
527+ // hide old tooltip
527528 hideTooltip ( ) ;
528529
529- var tooltipDiv = document . createElement ( 'div' ) ;
530- $ ( tooltipDiv ) . attr ( 'id' , 'tooltip' ) ;
531- $ ( tooltipDiv ) . html ( 'Line of code: ' + ( d + 1 ) + '<br />' + 'Execution step: ' + i ) ;
532- // TODO: clean up this messy div creation JS code
533- $ ( tooltipDiv ) . appendTo ( myViz . domRoot . find ( '#slider' ) ) ;
534530
531+
532+ $ ( '#tooltip' ) . show ( ) ;
533+ myViz . tooltipVisualizer . renderStep ( i ) ;
535534 changeTooltipPosition ( xScale ( i ) + svgOffset . left , yScale ( d ) + svgOffset . top ) ;
536535 } )
537536 . on ( "mousemove" ,
@@ -594,11 +593,11 @@ function HolisticVisualizer(domRootID, dat, params) {
594593 var changeTooltipPosition = function ( x , y ) {
595594 var tooltipX = x - 8 ;
596595 var tooltipY = y + 8 ;
597- myViz . domRoot . find ( 'div #tooltip') . css ( { top : tooltipY , left : tooltipX } ) ;
596+ $ ( ' #tooltip') . css ( { top : tooltipY , left : tooltipX } ) ;
598597 } ;
599598
600599 var hideTooltip = function ( ) {
601- myViz . domRoot . find ( 'div #tooltip') . remove ( ) ;
600+ $ ( ' #tooltip') . hide ( ) ;
602601 } ;
603602
604603 /*
0 commit comments