Browse Source

Fix tooltip

pull/104/head
Masayuki Tanaka 11 years ago
parent
commit
4049d4f045
  1. 13
      c3.js
  2. 4
      c3.min.js

13
c3.js

@ -321,8 +321,9 @@
var leftAxisClass = __axis_rotated ? ".x.axis" : ".y.axis", var leftAxisClass = __axis_rotated ? ".x.axis" : ".y.axis",
leftAxis = d3.select(leftAxisClass).node(), leftAxis = d3.select(leftAxisClass).node(),
svgRect = leftAxis ? leftAxis.getBoundingClientRect() : {right: 0}, svgRect = leftAxis ? leftAxis.getBoundingClientRect() : {right: 0},
chartRect = d3.select(__bindto).node().getBoundingClientRect(); chartRect = d3.select(__bindto).node().getBoundingClientRect(),
return svgRect.right - chartRect.left - getCurrentPaddingLeft(); svgLeft = svgRect.right - chartRect.left - getCurrentPaddingLeft();
return svgLeft > 0 ? svgLeft : 0;
} }
function getCurrentWidth() { function getCurrentWidth() {
return __size_width ? __size_width : getParentWidth(); return __size_width ? __size_width : getParentWidth();
@ -1313,9 +1314,7 @@
// don't show tooltip when no data // don't show tooltip when no data
if (dataToShow.length === 0) { return; } if (dataToShow.length === 0) { return; }
// Construct tooltip // Construct tooltip
tooltip.html(__tooltip_contents(selectedData, getXAxisTickFormat(), valueFormat, color)) tooltip.html(__tooltip_contents(selectedData, getXAxisTickFormat(), valueFormat, color));
.style("visibility", "hidden")
.style("display", "block");
// Get tooltip dimensions // Get tooltip dimensions
tWidth = tooltip.property('offsetWidth'); tWidth = tooltip.property('offsetWidth');
tHeight = tooltip.property('offsetHeight'); tHeight = tooltip.property('offsetHeight');
@ -1337,6 +1336,7 @@
chartRight = svgLeft + getCurrentWidth() - getCurrentPaddingRight(); chartRight = svgLeft + getCurrentWidth() - getCurrentPaddingRight();
tooltipTop = mouse[1] + 15; tooltipTop = mouse[1] + 15;
} }
if (tooltipRight > chartRight) { if (tooltipRight > chartRight) {
tooltipLeft -= tWidth + 60; tooltipLeft -= tWidth + 60;
} }
@ -1345,11 +1345,10 @@
} }
} }
// Set tooltip // Set tooltip
// todo get rid of magic numbers
tooltip tooltip
.style("top", tooltipTop + "px") .style("top", tooltipTop + "px")
.style("left", tooltipLeft + 'px') .style("left", tooltipLeft + 'px')
.style("visibility", "visible"); .style("display", "block");
} }
function hideTooltip() { function hideTooltip() {
tooltip.style("display", "none"); tooltip.style("display", "none");

4
c3.min.js vendored

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save