Browse Source

Fix detached DOM tree when destory called - #866

pull/888/head
Masayuki Tanaka 10 years ago
parent
commit
a0be52b869
  1. 13
      c3.js
  2. 2
      c3.min.js
  3. 13
      src/api.chart.js

13
c3.js

@ -6480,11 +6480,18 @@
c3_chart_fn.destroy = function () { c3_chart_fn.destroy = function () {
var $$ = this.internal; var $$ = this.internal;
$$.data.targets = undefined;
$$.data.xs = {};
$$.selectChart.classed('c3', false).html("");
window.clearInterval($$.intervalForObserveInserted); window.clearInterval($$.intervalForObserveInserted);
window.onresize = null; window.onresize = null;
$$.selectChart.classed('c3', false).html("");
// MEMO: this is needed because the reference of some elements will not be released, then memory leak will happen.
Object.keys($$).forEach(function (key) {
$$[key] = null;
});
return null;
}; };
c3_chart_fn.tooltip = function () {}; c3_chart_fn.tooltip = function () {};

2
c3.min.js vendored

File diff suppressed because one or more lines are too long

13
src/api.chart.js

@ -12,9 +12,16 @@ c3_chart_fn.flush = function () {
c3_chart_fn.destroy = function () { c3_chart_fn.destroy = function () {
var $$ = this.internal; var $$ = this.internal;
$$.data.targets = undefined;
$$.data.xs = {};
$$.selectChart.classed('c3', false).html("");
window.clearInterval($$.intervalForObserveInserted); window.clearInterval($$.intervalForObserveInserted);
window.onresize = null; window.onresize = null;
$$.selectChart.classed('c3', false).html("");
// MEMO: this is needed because the reference of some elements will not be released, then memory leak will happen.
Object.keys($$).forEach(function (key) {
$$[key] = null;
});
return null;
}; };

Loading…
Cancel
Save