Skip to content

Commit

Permalink
Add note about lastActive and add test
Browse files Browse the repository at this point in the history
  • Loading branch information
etimberg committed Oct 27, 2017
1 parent 4db7cdb commit 98e59d1
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/core/core.controller.js
Expand Up @@ -374,6 +374,9 @@ module.exports = function(Chart) {
// Need to reset tooltip in case it is displayed with elements that are removed
// after update.
me.tooltip.initialize();

// Last active contains items that were previously in the tooltip.
// When we reset the tooltip, we need to clear it
me.lastActive = [];

// Do this before render so that any plugins that need final scale updates can use it
Expand Down
48 changes: 48 additions & 0 deletions test/specs/core.controller.tests.js
Expand Up @@ -822,6 +822,54 @@ describe('Chart', function() {
expect(chart.tooltip._options).toEqual(jasmine.objectContaining(newTooltipConfig));
});

it ('should reset the tooltip on update', function() {
var chart = acquireChart({
type: 'line',
data: {
labels: ['A', 'B', 'C', 'D'],
datasets: [{
data: [10, 20, 30, 100]
}]
},
options: {
responsive: true,
tooltip: {
mode: 'nearest'
}
}
});

// Trigger an event over top of a point to
// put an item into the tooltip
var meta = chart.getDatasetMeta(0);
var point = meta.data[1];

var node = chart.canvas;
var rect = node.getBoundingClientRect();

var evt = new MouseEvent('mousemove', {
view: window,
bubbles: true,
cancelable: true,
clientX: rect.left + point._model.x,
clientY: 0
});

// Manually trigger rather than having an async test
node.dispatchEvent(evt);

// Check and see if tooltip was displayed
var tooltip = chart.tooltip;

expect(chart.lastActive).toEqual([point]);
expect(tooltip._lastActive).toEqual([]);

// Update and confirm tooltip is reset
chart.update();
expect(chart.lastActive).toEqual([]);
expect(tooltip._lastActive).toEqual([]);
});

it ('should update the metadata', function() {
var cfg = {
data: {
Expand Down

0 comments on commit 98e59d1

Please sign in to comment.