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 11# CHANGELOG
22
3+ ## 2.23.0
4+
5+ - Listen to Stimulus ` disconnect ` event to destroy the chart #1944
6+
37## 2.18.0
48
59- 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 {
66 } ;
77 private chart ;
88 connect ( ) : void ;
9+ disconnect ( ) : void ;
910 viewValueChanged ( ) : void ;
1011 private dispatchEvent ;
1112}
Original file line number Diff line number Diff line change @@ -35,6 +35,13 @@ class default_1 extends Controller {
3535 this . chart = new Chart ( canvasContext , payload ) ;
3636 this . dispatchEvent ( 'connect' , { chart : this . chart } ) ;
3737 }
38+ disconnect ( ) {
39+ this . dispatchEvent ( 'disconnect' , { chart : this . chart } ) ;
40+ if ( this . chart ) {
41+ this . chart . destroy ( ) ;
42+ this . chart = null ;
43+ }
44+ }
3845 viewValueChanged ( ) {
3946 if ( this . chart ) {
4047 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 {
5757 this . dispatchEvent ( 'connect' , { chart : this . chart } ) ;
5858 }
5959
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+
6069 /**
6170 * If the underlying data or options change, let's update the chart!
6271 */
You can’t perform that action at this time.
0 commit comments