Skip to content

Commit

Permalink
[Chart.js] Listen to Stimulus disconnect event to destroy the chart
Browse files Browse the repository at this point in the history
  • Loading branch information
Shadow-Devil authored and Kocal committed Jan 5, 2025
1 parent 507c89c commit 22d1cee
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 0 deletions.
4 changes: 4 additions & 0 deletions src/Chartjs/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# CHANGELOG

## 2.23.0

- Listen to Stimulus `disconnect` event to destroy the chart #1944

## 2.18.0

- Replace `chartjs/auto` import with explicit `Chart.register()` call #1263
Expand Down
1 change: 1 addition & 0 deletions src/Chartjs/assets/dist/controller.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ export default class extends Controller {
};
private chart;
connect(): void;
disconnect(): void;
viewValueChanged(): void;
private dispatchEvent;
}
7 changes: 7 additions & 0 deletions src/Chartjs/assets/dist/controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,13 @@ class default_1 extends Controller {
this.chart = new Chart(canvasContext, payload);
this.dispatchEvent('connect', { chart: this.chart });
}
disconnect() {
this.dispatchEvent('disconnect', { chart: this.chart });
if (this.chart) {
this.chart.destroy();
this.chart = null;
}
}
viewValueChanged() {
if (this.chart) {
const viewValue = { data: this.viewValue.data, options: this.viewValue.options };
Expand Down
9 changes: 9 additions & 0 deletions src/Chartjs/assets/src/controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,15 @@ export default class extends Controller {
this.dispatchEvent('connect', { chart: this.chart });
}

disconnect() {
this.dispatchEvent('disconnect', { chart: this.chart });

if (this.chart) {
this.chart.destroy();
this.chart = null;
}
}

/**
* If the underlying data or options change, let's update the chart!
*/
Expand Down

0 comments on commit 22d1cee

Please sign in to comment.