77 * file that was distributed with this source code.
88 */
99
10- import { Controller } from '@hotwired/stimulus' ;
10+ import { Controller } from '@hotwired/stimulus' ;
1111
1212export default class extends Controller {
1313 declare readonly inputTarget : HTMLInputElement ;
1414 declare readonly placeholderTarget : HTMLDivElement ;
1515 declare readonly previewTargets : HTMLDivElement [ ] ;
1616 declare readonly previewContainerTarget : HTMLDivElement ;
1717
18- static targets = [ 'input' , 'placeholder' , 'preview' , 'previewClearButton' , 'previewFilename' , 'previewImage' , 'previewContainer' ] ;
18+ static targets = [
19+ 'input' ,
20+ 'placeholder' ,
21+ 'preview' ,
22+ 'previewClearButton' ,
23+ 'previewFilename' ,
24+ 'previewImage' ,
25+ 'previewContainer'
26+ ] ;
1927
2028 files : Map < string , File > = new Map < string , File > ( ) ;
2129
@@ -58,13 +66,13 @@ export default class extends Controller {
5866 }
5967 }
6068 if ( ! this . inputTarget || ! this . inputTarget . files || this . inputTarget ?. files ?. length === 0 ) {
61- this . placeholderTarget . style . display = " block" ;
69+ this . placeholderTarget . style . display = ' block' ;
6270 if ( ! this . isMultiple ) {
63- this . inputTarget . style . display = " block" ;
71+ this . inputTarget . style . display = ' block' ;
6472 }
6573 }
6674
67- this . dispatchEvent ( " clear" ) ;
75+ this . dispatchEvent ( ' clear' ) ;
6876 }
6977
7078 onInputChange ( ) {
@@ -75,14 +83,14 @@ export default class extends Controller {
7583 }
7684
7785 if ( ! this . isMultiple && this . files . size > 0 ) {
78- this . inputTarget . style . display = " none" ;
86+ this . inputTarget . style . display = ' none' ;
7987 }
8088
8189 const selectedFiles = this . isMultiple ? Array . from ( files ) : Array . from ( files ) . slice ( 0 , 1 ) ;
8290 this . addFiles ( selectedFiles ) ;
8391 this . updateFileInput ( ) ;
8492 this . renderPreview ( ) ;
85- this . dispatchEvent ( " change" , files ) ;
93+ this . dispatchEvent ( ' change' , files ) ;
8694 }
8795
8896 private renderPreview ( ) {
@@ -106,7 +114,7 @@ export default class extends Controller {
106114
107115 private clearPreviewContainer ( ) {
108116 const previews = this . previewTargets ;
109- previews . slice ( 1 ) . forEach ( el => el . remove ( ) ) ;
117+ previews . slice ( 1 ) . forEach ( ( el ) => el . remove ( ) ) ;
110118 }
111119
112120 private buildPreview ( file : File , element ?: HTMLElement ) : HTMLElement {
@@ -117,7 +125,7 @@ export default class extends Controller {
117125
118126 const fileName = element . querySelector ( '.dropzone-preview-filename' ) ;
119127 if ( fileName ) {
120- fileName . textContent = file . name
128+ fileName . textContent = file . name ;
121129 }
122130
123131 const button = element . querySelector ( '.dropzone-preview-button' ) ;
@@ -176,6 +184,6 @@ export default class extends Controller {
176184 }
177185
178186 private dispatchEvent ( name : string , payload : any = { } ) {
179- this . dispatch ( name , { detail : payload , prefix : 'dropzone' } ) ;
187+ this . dispatch ( name , { detail : payload , prefix : 'dropzone' } ) ;
180188 }
181189}
0 commit comments