File tree Expand file tree Collapse file tree 4 files changed +21
-0
lines changed Expand file tree Collapse file tree 4 files changed +21
-0
lines changed Original file line number Diff line number Diff line change 1
1
# CHANGELOG
2
2
3
+ ## 2.23.0
4
+
5
+ - Listen to Stimulus ` disconnect ` event to destroy the chart #1944
6
+
3
7
## 2.18.0
4
8
5
9
- Replace ` chartjs/auto ` import with explicit ` Chart.register() ` call #1263
Original file line number Diff line number Diff line change @@ -6,6 +6,7 @@ export default class extends Controller {
6
6
} ;
7
7
private chart ;
8
8
connect ( ) : void ;
9
+ disconnect ( ) : void ;
9
10
viewValueChanged ( ) : void ;
10
11
private dispatchEvent ;
11
12
}
Original file line number Diff line number Diff line change @@ -35,6 +35,13 @@ class default_1 extends Controller {
35
35
this . chart = new Chart ( canvasContext , payload ) ;
36
36
this . dispatchEvent ( 'connect' , { chart : this . chart } ) ;
37
37
}
38
+ disconnect ( ) {
39
+ this . dispatchEvent ( 'disconnect' , { chart : this . chart } ) ;
40
+ if ( this . chart ) {
41
+ this . chart . destroy ( ) ;
42
+ this . chart = null ;
43
+ }
44
+ }
38
45
viewValueChanged ( ) {
39
46
if ( this . chart ) {
40
47
const viewValue = { data : this . viewValue . data , options : this . viewValue . options } ;
Original file line number Diff line number Diff line change @@ -57,6 +57,15 @@ export default class extends Controller {
57
57
this . dispatchEvent ( 'connect' , { chart : this . chart } ) ;
58
58
}
59
59
60
+ disconnect ( ) {
61
+ this . dispatchEvent ( 'disconnect' , { chart : this . chart } ) ;
62
+
63
+ if ( this . chart ) {
64
+ this . chart . destroy ( ) ;
65
+ this . chart = null ;
66
+ }
67
+ }
68
+
60
69
/**
61
70
* If the underlying data or options change, let's update the chart!
62
71
*/
You can’t perform that action at this time.
0 commit comments