diff --git a/superset/assets/visualizations/big_number.css b/superset/assets/visualizations/big_number.css index e490395914b..3e4734ece04 100644 --- a/superset/assets/visualizations/big_number.css +++ b/superset/assets/visualizations/big_number.css @@ -28,3 +28,12 @@ stroke: black; stroke-width: 1; } +.line-tooltip { + position: absolute; + text-align: left; + padding: 10px; + background: #ffffff; + border: 1px solid #ccc; + border-radius: 2px; + pointer-events: none; + } diff --git a/superset/assets/visualizations/big_number.js b/superset/assets/visualizations/big_number.js index af943a2facd..9089443d4aa 100644 --- a/superset/assets/visualizations/big_number.js +++ b/superset/assets/visualizations/big_number.js @@ -55,7 +55,7 @@ function bigNumberVis(slice, payload) { .y(function (d) { return scaleY(d[1]); }) - .interpolate('basis'); + .interpolate('cardinal'); let y = height / 2; let g = svg.append('g'); @@ -146,6 +146,46 @@ function bigNumberVis(slice, payload) { g.selectAll('text') .style('font-size', '10px'); + // Define the div for the tooltip + const tooltipEl = + d3.select('body') + .append('div') + .attr('class', 'line-tooltip') + .attr('width', 200) + .attr('height', 200) + .style('opacity', 0); + + const renderTooltip = (d) => { + const date = formatDate(d[0]); + const value = f(d[1]); + return ` +