@jvilk opened this issue on February 19th 2017

Overview:

Prior to these changes, every data table created would remain in memory due to leftover resize and mouseup handlers on window/document.body (see individual commit messages for further details).

This PR adds a _destroy method to the data table class to appropriately clean up these handlers, and changes jqplot so that it appropriately destroys plot objects when the page changes.

Prerequisites to reproducing bug: Have a dashboard configured to show one of these data tables (e.g., the demo works fine for reproducing this bug).

Reproduce:

  1. Visit the Dashboard.
  2. Take a heap snapshot using Chrome's development tools.
  3. Click on the dashboard link in the left menu.
  4. Take another heap snapshot.
  5. Compare the number of live instances of exports.JqplotEvolutionGraphDataTable between snapshot 1 and 2. 2 will have double the instances of 1.
This issue was closed on March 27th 2017
Powered by GitHub Issue Mirror