Skip to content

Commit

Permalink
Update custom tooltip documentation and samples (chartjs#5166)
Browse files Browse the repository at this point in the history
  • Loading branch information
etimberg committed Jan 21, 2018
1 parent 2ac799d commit 2153080
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 13 deletions.
18 changes: 11 additions & 7 deletions docs/configuration/tooltip.md
Expand Up @@ -6,7 +6,7 @@ The tooltip configuration is passed into the `options.tooltips` namespace. The g

| Name | Type | Default | Description
| -----| ---- | --------| -----------
| `enabled` | `Boolean` | `true` | Are tooltips enabled
| `enabled` | `Boolean` | `true` | Are on-canvas tooltips enabled
| `custom` | `Function` | `null` | See [custom tooltip](#external-custom-tooltips) section.
| `mode` | `String` | `'nearest'` | Sets which elements appear in the tooltip. [more...](../general/interactions/modes.md#interaction-modes).
| `intersect` | `Boolean` | `true` | if true, the tooltip mode applies only when the mouse position intersects with an element. If false, the mode will be applied at all times.
Expand Down Expand Up @@ -191,6 +191,9 @@ var myPieChart = new Chart(ctx, {
data: data,
options: {
tooltips: {
// Disable the on-canvas tooltip
enabled: false,

custom: function(tooltipModel) {
// Tooltip Element
var tooltipEl = document.getElementById('chartjs-tooltip');
Expand All @@ -199,7 +202,7 @@ var myPieChart = new Chart(ctx, {
if (!tooltipEl) {
tooltipEl = document.createElement('div');
tooltipEl.id = 'chartjs-tooltip';
tooltipEl.innerHTML = "<table></table>"
tooltipEl.innerHTML = "<table></table>";
document.body.appendChild(tooltipEl);
}

Expand Down Expand Up @@ -238,7 +241,7 @@ var myPieChart = new Chart(ctx, {
var style = 'background:' + colors.backgroundColor;
style += '; border-color:' + colors.borderColor;
style += '; border-width: 2px';
var span = '<span class="chartjs-tooltip-key" style="' + style + '"></span>';
var span = '<span style="' + style + '"></span>';
innerHtml += '<tr><td>' + span + body + '</td></tr>';
});
innerHtml += '</tbody>';
Expand All @@ -252,19 +255,20 @@ var myPieChart = new Chart(ctx, {

// Display, position, and set styles for font
tooltipEl.style.opacity = 1;
tooltipEl.style.position = 'absolute';
tooltipEl.style.left = position.left + tooltipModel.caretX + 'px';
tooltipEl.style.top = position.top + tooltipModel.caretY + 'px';
tooltipEl.style.fontFamily = tooltipModel._fontFamily;
tooltipEl.style.fontSize = tooltipModel.fontSize;
tooltipEl.style.fontStyle = tooltipModel._fontStyle;
tooltipEl.style.fontFamily = tooltipModel._bodyFontFamily;
tooltipEl.style.fontSize = tooltipModel.bodyFontSize + 'px';
tooltipEl.style.fontStyle = tooltipModel._bodyFontStyle;
tooltipEl.style.padding = tooltipModel.yPadding + 'px ' + tooltipModel.xPadding + 'px';
}
}
}
});
```

See `samples/tooltips/line-customTooltips.html` for examples on how to get started.
See [samples](http://www.chartjs.org/samples/) for examples on how to get started with custom tooltips.

## Tooltip Model
The tooltip model contains parameters that can be used to render the tooltip.
Expand Down
6 changes: 3 additions & 3 deletions samples/tooltips/custom-line.html
Expand Up @@ -102,9 +102,9 @@
tooltipEl.style.opacity = 1;
tooltipEl.style.left = positionX + tooltip.caretX + 'px';
tooltipEl.style.top = positionY + tooltip.caretY + 'px';
tooltipEl.style.fontFamily = tooltip._fontFamily;
tooltipEl.style.fontSize = tooltip.fontSize;
tooltipEl.style.fontStyle = tooltip._fontStyle;
tooltipEl.style.fontFamily = tooltip._bodyFontFamily;
tooltipEl.style.fontSize = tooltip.bodyFontSize + 'px';
tooltipEl.style.fontStyle = tooltip._bodyFontStyle;
tooltipEl.style.padding = tooltip.yPadding + 'px ' + tooltip.xPadding + 'px';
};

Expand Down
6 changes: 3 additions & 3 deletions samples/tooltips/custom-pie.html
Expand Up @@ -98,9 +98,9 @@
tooltipEl.style.opacity = 1;
tooltipEl.style.left = positionX + tooltip.caretX + 'px';
tooltipEl.style.top = positionY + tooltip.caretY + 'px';
tooltipEl.style.fontFamily = tooltip._fontFamily;
tooltipEl.style.fontSize = tooltip.fontSize;
tooltipEl.style.fontStyle = tooltip._fontStyle;
tooltipEl.style.fontFamily = tooltip._bodyFontFamily;
tooltipEl.style.fontSize = tooltip.bodyFontSize;
tooltipEl.style.fontStyle = tooltip._bodyFontStyle;
tooltipEl.style.padding = tooltip.yPadding + 'px ' + tooltip.xPadding + 'px';
};

Expand Down

0 comments on commit 2153080

Please sign in to comment.