11import { Controller } from 'stimulus' ;
2+ import { events } from "../mixins/events" ;
23import axios from 'axios' ;
34
45export default class extends Controller {
@@ -11,6 +12,8 @@ export default class extends Controller {
1112 }
1213
1314 connect ( ) {
15+ events ( this )
16+
1417 if ( this . hasMoveButtonTarget ) {
1518 this . moveButtonTarget . disabled = true
1619 }
@@ -24,11 +27,11 @@ export default class extends Controller {
2427
2528 onCreateSuccess ( event ) {
2629 const [ data , status , xhr ] = event . detail ;
27- const createEvent = new CustomEvent ( 'snippet-created' , { detail : data } )
28- window . dispatchEvent ( createEvent )
30+
31+ this . emitEvent ( 'snippet-created' , data )
32+ this . emitEvent ( 'close-modal' ) ;
2933
3034 this . toast . display ( 'Your snippet was created!' )
31- this . emitModalClose ( ) ;
3235 }
3336
3437 onCreateError ( event ) {
@@ -38,11 +41,10 @@ export default class extends Controller {
3841
3942 onUpdateSuccess ( event ) {
4043 const [ data , status , xhr ] = event . detail ;
41- const updateEvent = new CustomEvent ( 'snippet-updated' , { detail : data } )
42- window . dispatchEvent ( updateEvent )
4344
45+ this . emitEvent ( 'snippet-updated' , data )
46+ this . emitEvent ( 'close-modal' ) ;
4447 this . toast . display ( 'Your snippet was updated!' )
45- this . emitModalClose ( ) ;
4648 }
4749
4850 onUpdateError ( event ) {
@@ -112,19 +114,14 @@ export default class extends Controller {
112114 axios . post ( this . confirmPath , { folder_id : this . selectedFolderId } , { headers : { 'accept' : 'application/json' } } )
113115 . then ( res => {
114116 this . toast . display ( res . data . message )
115- this . emitModalClose ( ) ;
117+ this . emitEvent ( 'close-modal' ) ;
116118 } )
117119 . catch ( error => {
118120 console . error ( error )
119121 this . toast . display ( 'Unable to file snippet' )
120122 } )
121123 }
122124
123- emitModalClose ( ) {
124- const event = new CustomEvent ( 'close-modal' )
125- window . dispatchEvent ( event )
126- }
127-
128125 get url ( ) {
129126 return this . data . get ( 'url' )
130127 }
@@ -137,10 +134,6 @@ export default class extends Controller {
137134 return this . data . get ( 'originalFolderId' )
138135 }
139136
140- get modal ( ) {
141- return document . getElementById ( 'modal' ) . modal
142- }
143-
144137 get toast ( ) {
145138 return document . getElementById ( 'toast' ) . toast
146139 }
@@ -156,8 +149,4 @@ export default class extends Controller {
156149 set selectedFolderId ( folderId ) {
157150 return this . data . set ( 'selectedFolderId' , folderId )
158151 }
159-
160- get modal ( ) {
161- return document . getElementById ( 'modal' ) . modal
162- }
163152}
0 commit comments