1
1
import {
2
2
Component ,
3
3
Element ,
4
- Event ,
4
+ Event as StencilEvent ,
5
5
EventEmitter ,
6
6
Prop ,
7
7
Watch ,
@@ -176,12 +176,12 @@ export class GcdsFileUploader {
176
176
/**
177
177
* Emitted when the uploader has focus.
178
178
*/
179
- @Event ( ) gcdsFocus ! : EventEmitter < void > ;
179
+ @StencilEvent ( ) gcdsFocus ! : EventEmitter < void > ;
180
180
181
181
/**
182
182
* Emitted when the uploader loses focus.
183
183
*/
184
- @Event ( ) gcdsBlur ! : EventEmitter < void > ;
184
+ @StencilEvent ( ) gcdsBlur ! : EventEmitter < void > ;
185
185
186
186
private onBlur = ( ) => {
187
187
if ( this . validateOn == 'blur' ) {
@@ -194,12 +194,12 @@ export class GcdsFileUploader {
194
194
/**
195
195
* Emitted when the user has made a file selection.
196
196
*/
197
- @Event ( ) gcdsChange : EventEmitter ;
197
+ @StencilEvent ( ) gcdsChange : EventEmitter ;
198
198
199
199
/**
200
200
* Emitted when the user has uploaded a file.
201
201
*/
202
- @Event ( ) gcdsInput : EventEmitter ;
202
+ @StencilEvent ( ) gcdsInput : EventEmitter ;
203
203
204
204
private handleInput = ( e , customEvent ) => {
205
205
const filesContainer : string [ ] = [ ] ;
@@ -232,7 +232,7 @@ export class GcdsFileUploader {
232
232
/**
233
233
* Remove file and update value.
234
234
*/
235
- @Event ( ) gcdsRemoveFile : EventEmitter ;
235
+ @StencilEvent ( ) gcdsRemoveFile : EventEmitter ;
236
236
removeFile = e => {
237
237
e . preventDefault ( ) ;
238
238
const fileName = e . target . closest ( '.file-uploader__uploaded-file' )
@@ -259,6 +259,10 @@ export class GcdsFileUploader {
259
259
260
260
this . value = [ ...filesContainer ] ;
261
261
this . gcdsRemoveFile . emit ( this . value ) ;
262
+ this . gcdsChange . emit ( this . value ) ;
263
+ this . el . dispatchEvent (
264
+ new Event ( 'change' , { bubbles : true , composed : true } ) ,
265
+ ) ;
262
266
} ;
263
267
264
268
/**
@@ -279,12 +283,12 @@ export class GcdsFileUploader {
279
283
/**
280
284
* Emitted when the input has a validation error.
281
285
*/
282
- @Event ( ) gcdsError ! : EventEmitter < object > ;
286
+ @StencilEvent ( ) gcdsError ! : EventEmitter < object > ;
283
287
284
288
/**
285
289
* Emitted when the input has a validation error.
286
290
*/
287
- @Event ( ) gcdsValid ! : EventEmitter < object > ;
291
+ @StencilEvent ( ) gcdsValid ! : EventEmitter < object > ;
288
292
289
293
@Listen ( 'submit' , { target : 'document' } )
290
294
submitListener ( e ) {
@@ -345,6 +349,11 @@ export class GcdsFileUploader {
345
349
this . shadowElement . files = dt . files ;
346
350
this . files = dt . files ;
347
351
}
352
+
353
+ this . gcdsChange . emit ( this . value ) ;
354
+ this . el . dispatchEvent (
355
+ new Event ( 'change' , { bubbles : true , composed : true } ) ,
356
+ ) ;
348
357
}
349
358
350
359
// Focus file input after drop
0 commit comments