code: function updateTopicContent(topic){
              let name = topic[nameLabel],
                  tooltipRight,
                  tooltipLeftText,
                  tooltipRightText,
                  elementText;
  
              tooltipLeftText = topic.topicName || name;
              tooltipRightText = getValueText(topic);
  
              elementText = tooltipBody
                .append('text')
                  .classed('tooltip-left-text', true)
                  .attr('dy', '1em')
                  .attr('x', ttTextX)
                  .attr('y', ttTextY)
                  .style('fill', tooltipTextColor)
                  .text(tooltipLeftText)
                  .call(textWrap, tooltipMaxTopicLength, initialTooltipTextXPosition);
  
              tooltipRight = tooltipBody
                .append('text')
                  .classed('tooltip-right-text', true)
                  .attr('dy', '1em')
                  .attr('x', ttTextX)
                  .attr('y', ttTextY)
                  .style('fill', tooltipTextColor)
                  .text(tooltipRightText);
  
              // IE11 give us sometimes a height of 0 when hovering on top of the vertical marker
              // This hack fixes it for some cases, but it doesn't work in multiline (they won't wrap)
              // Let's remove this once we stop supporting IE11
              textHeight = elementText.node().getBBox().height ? elementText.node().getBBox().height : textHeight;
  
              tooltipHeight += textHeight + tooltipTextLinePadding;
              // update the width if it exists because IE renders the elements
              // too slow and cant figure out the width?
              tooltipRightWidth = tooltipRight.node().getBBox().width ? tooltipRight.node().getBBox().width : tooltipRightWidth;
              tooltipRight.attr( 'x', tooltipWidth - tooltipRightWidth - 10 - tooltipWidth / 4 );
  
              tooltipBody
                  .append('circle')
                  .classed('tooltip-circle', true)
                  .attr('cx', 23 - tooltipWidth / 4)
                  .attr('cy', (ttTextY + circleYOffset))
                  .attr('r', 5)
                  .style('fill', colorMap[name])
                  .style('stroke-width', 1);
  
              ttTextY += textHeight + 7;
          }
docs: Draws the data entries inside the tooltip for a given topic
  @param  {Object} topic Topic to extract data from
  @return void
  @private