@@ -4,6 +4,7 @@ import {ProgressOverlay, ProgressBar} from './UploadProgress';
44
55const FileUploader = forwardRef ( ( props : any , forwardedRef ) => {
66 const { folderId, handleUpload} = props ;
7+ const multiple = 'multiple' in props ;
78 const inputRef = useRef ( null ) ;
89 const [ dragging , setDragging ] = useState ( false ) ;
910 const [ uploading , setUploading ] = useState ( [ ] ) ;
@@ -45,6 +46,10 @@ const FileUploader = forwardRef((props: any, forwardedRef) => {
4546 }
4647
4748 function uploadFiles ( files : FileList ) {
49+ const uploadFile = file => new Promise < Response > ( ( resolve , reject ) => {
50+ file . resolve = resolve ;
51+ file . reject = reject ;
52+ } ) ;
4853 const promises : Array < Promise < Response > > = [ ] ;
4954 for ( let k = 0 ; k < files . length ; k ++ ) {
5055 promises . push ( uploadFile ( files . item ( k ) ) ) ;
@@ -58,17 +63,10 @@ const FileUploader = forwardRef((props: any, forwardedRef) => {
5863 } ) ;
5964 }
6065
61- function uploadFile ( file ) {
62- return new Promise < Response > ( ( resolve , reject ) => {
63- file . resolve = resolve ;
64- file . reject = reject ;
65- } ) ;
66- }
67-
6866 return (
6967 < div className = "file-uploader" onDragEnter = { handleDragEnter } onDragOver = { swallowEvent } onDragLeave = { handleDragLeave } onDrop = { handleDrop } >
7068 { props . children }
71- < input type = "file" name = { `file:${ folderId } ` } multiple ref = { inputRef } onChange = { handleFileSelect } /> {
69+ < input type = "file" name = { `file:${ folderId } ` } multiple = { multiple } ref = { inputRef } onChange = { handleFileSelect } /> {
7270 ( dragging || uploading . length > 0 ) &&
7371 < ProgressOverlay dragging = { dragging } > {
7472 uploading . map ( ( file , index ) =>
0 commit comments