diff --git a/docs/index.html b/docs/index.html
index dc11660..1f5ba76 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -261,7 +261,7 @@ redirect_to: "https://frappe.io/charts"
chart.export();
// Unbind window-resize events
- chart.unbindWindowEvents();
+ chart.destroy();
diff --git a/src/js/charts/BaseChart.js b/src/js/charts/BaseChart.js
index ebe12fe..e17c9e3 100644
--- a/src/js/charts/BaseChart.js
+++ b/src/js/charts/BaseChart.js
@@ -7,8 +7,6 @@ import { getColor, isValidColor } from '../utils/colors';
import { runSMILAnimation } from '../utils/animation';
import { downloadFile, prepareForExport } from '../utils/export';
-let BOUND_DRAW_FN;
-
export default class BaseChart {
constructor(parent, options) {
@@ -90,18 +88,14 @@ export default class BaseChart {
this.height = height - getExtraHeight(this.measures);
// Bind window events
- BOUND_DRAW_FN = this.boundDrawFn.bind(this);
- window.addEventListener('resize', BOUND_DRAW_FN);
- window.addEventListener('orientationchange', this.boundDrawFn.bind(this));
- }
-
- boundDrawFn() {
- this.draw(true);
+ this.boundDrawFn = () => this.draw(true);
+ window.addEventListener('resize', this.boundDrawFn);
+ window.addEventListener('orientationchange', this.boundDrawFn);
}
- unbindWindowEvents() {
- window.removeEventListener('resize', BOUND_DRAW_FN);
- window.removeEventListener('orientationchange', this.boundDrawFn.bind(this));
+ destroy() {
+ window.removeEventListener('resize', this.boundDrawFn);
+ window.removeEventListener('orientationchange', this.boundDrawFn);
}
// Has to be called manually