@@ -2,6 +2,7 @@ import React, { useState, useRef } from 'react'
2
2
import PropTypes from 'prop-types'
3
3
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
4
4
import {
5
+ Alert ,
5
6
Button ,
6
7
CloseButton ,
7
8
Form ,
@@ -18,6 +19,8 @@ const ViewFiles = ({ backgroundColor, initialFiles, handleClose, onSubmit }) =>
18
19
const fileRef = useRef ( null )
19
20
const [ files , setFiles ] = useState ( initialFiles )
20
21
const [ tempFiles , setTempFiles ] = useState ( [ ] )
22
+ const [ showSuccessAlert , setShowSuccessAlert ] = useState ( false )
23
+ //let newlyAddedFiles = []
21
24
const documentTabs = [
22
25
{
23
26
eventKey : 'files' ,
@@ -44,19 +47,22 @@ const ViewFiles = ({ backgroundColor, initialFiles, handleClose, onSubmit }) =>
44
47
const newBase64Files = await Promise . all ( convertToBase64 ( fileArray ) )
45
48
const newFiles = fileArray . map ( ( file , index ) => ( { [ file . name ] : newBase64Files [ index ] } ) )
46
49
setTempFiles ( [ ...tempFiles , ...newFiles ] )
47
- console . log ( tempFiles , 'tempFilesAfterAdd' )
50
+ if ( showSuccessAlert ) {
51
+ setShowSuccessAlert ( false )
52
+ }
48
53
fileRef . current . value = ''
49
54
} catch ( error ) {
50
55
throw new Error ( error )
51
56
}
52
57
}
53
58
54
- const handleSubmit = ( event ) => {
59
+ const handleSubmit = async ( event ) => {
55
60
event . preventDefault ( )
56
- onSubmit ( { files : apiV2CompatibleStrings ( [ ...tempFiles ] ) } )
57
- console . log ( files , 'filesBeforeSubmit' )
58
- //setFiles([...files, ...apiCompatibleTempFiles])
59
- setTempFiles ( [ ] )
61
+ await onSubmit ( { files : apiV2CompatibleStrings ( [ ...tempFiles ] ) } )
62
+ if ( tempFiles . length > 0 ) {
63
+ setShowSuccessAlert ( true )
64
+ setTempFiles ( [ ] )
65
+ }
60
66
}
61
67
62
68
const handleDeleteTempFile = ( file ) => {
@@ -98,11 +104,16 @@ const ViewFiles = ({ backgroundColor, initialFiles, handleClose, onSubmit }) =>
98
104
</ ListGroup . Item >
99
105
)
100
106
} ) }
107
+ { showSuccessAlert &&
108
+ < Alert variant = 'success' onClose = { ( ) => setShowSuccessAlert ( false ) } dismissible >
109
+ Your files have been uploaded successfully. It may take some time for them to appear below.
110
+ </ Alert >
111
+ }
101
112
</ ListGroup >
102
113
< Tabs defaultActiveKey = 'files' id = 'document-tabs' justify fill >
103
114
{ documentTabs && documentTabs . map ( ( tab ) => {
104
115
const { eventKey, title, status } = tab
105
- const filteredFiles = files . filter ( ( f ) => ( status === f . status ) || ( status === 'Other File' && f . status === null ) )
116
+ const filteredFiles = initialFiles . filter ( ( f ) => ( status === f . status ) || ( status === 'Other File' && f . status === null ) )
106
117
return (
107
118
< Tab
108
119
eventKey = { eventKey }
0 commit comments