batch uploads on frontend
This commit is contained in:
@@ -2147,6 +2147,7 @@ const RenderFileUpload = (field) => {
|
||||
|
||||
const [completedUploadFiles, setCompletedUploadFiles] = useState(false);
|
||||
const [uploadCountMessage, setUploadCountMessage] = useState("");
|
||||
const [totalUploadFiles, setTotalUploadFiles] = useState(0);
|
||||
|
||||
const handleDropRejected = (fileRejections) => {
|
||||
const errors = fileRejections
|
||||
@@ -2254,6 +2255,7 @@ const RenderFileUpload = (field) => {
|
||||
if (!acceptedFiles || acceptedFiles.length === 0) {
|
||||
setCompletedUploadFiles(true); // optional: depends on your UX
|
||||
setUploadCountMessage(0);
|
||||
setTotalUploadFiles(0);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2280,12 +2282,18 @@ const RenderFileUpload = (field) => {
|
||||
);
|
||||
}
|
||||
|
||||
setUploadCountMessage(renamedAcceptedFiles.length);
|
||||
setUploadCountMessage(0);
|
||||
setTotalUploadFiles(renamedAcceptedFiles.length);
|
||||
|
||||
uploadSingleFile(
|
||||
renamedAcceptedFiles,
|
||||
field.containerID,
|
||||
field.ticketnumber
|
||||
field.ticketnumber,
|
||||
{
|
||||
onChunkComplete: ({ cumulativeUploaded }) => {
|
||||
setUploadCountMessage(cumulativeUploaded);
|
||||
}
|
||||
}
|
||||
)
|
||||
.then((data) => {
|
||||
let buildAppealFilesArray = [];
|
||||
@@ -2386,10 +2394,13 @@ const RenderFileUpload = (field) => {
|
||||
</ul>
|
||||
</div>
|
||||
)}
|
||||
{uploadCountMessage > 0 && completedUploadFiles == false && (
|
||||
{totalUploadFiles > 0 && completedUploadFiles == false && (
|
||||
<div className="govuk-body govuk-!-font-size-14">
|
||||
{t("home:uploading-files-label", {
|
||||
number: uploadCountMessage
|
||||
number:
|
||||
totalUploadFiles > 0
|
||||
? `${uploadCountMessage} of ${totalUploadFiles}`
|
||||
: uploadCountMessage
|
||||
})}
|
||||
</div>
|
||||
)}
|
||||
|
||||
Reference in New Issue
Block a user