diff --git a/src/components/demo-components/dropzone-demo/AdvancedDropzoneDemo.jsx b/src/components/demo-components/dropzone-demo/AdvancedDropzoneDemo.jsx index 475319ba67bea773b83921761e6ad4dfc52a55a8..56b68a97943b22d0ebe78340bec964534d43f554 100644 --- a/src/components/demo-components/dropzone-demo/AdvancedDropzoneDemo.jsx +++ b/src/components/demo-components/dropzone-demo/AdvancedDropzoneDemo.jsx @@ -19,7 +19,8 @@ export default function AdvancedDropzoneDemo() { const [videoSrc, setVideoSrc] = React.useState(undefined); const updateFiles = (incommingFiles) => { - console.log("incomming extFiles", incommingFiles); + console.log("incomming extFiles outside", incommingFiles.map(x=>x.uploadStatus)); + const arrExtFIleInstances = incommingFiles.map( (extFile) => new ExtFileInstance(extFile) ); diff --git a/src/files-ui/components/dropzone/components/dropzone/Dropzone.tsx b/src/files-ui/components/dropzone/components/dropzone/Dropzone.tsx index 8f2a0aff7af84db883413552f546dcf7990fbd85..5b0dde52879ff7559ef7dc93cbe6fcf1d3f97cab 100644 --- a/src/files-ui/components/dropzone/components/dropzone/Dropzone.tsx +++ b/src/files-ui/components/dropzone/components/dropzone/Dropzone.tsx @@ -32,7 +32,7 @@ import { mergeProps } from "../../../overridable"; import InputHidden from "../../../input-hidden/InputHidden"; import { defaultDrozoneProps, - DEFAULT_BORDER_RADIUS, + // DEFAULT_BORDER_RADIUS, //DropzoneActionButton, DropzoneActions, DropzoneProps, @@ -219,17 +219,29 @@ const Dropzone: React.FC<DropzoneProps> = (props: DropzoneProps) => { * @returns nothing */ const uploadfiles = async (localFiles: ExtFile[]): Promise<void> => { + console.log( + "incomming extfiles uploadfiles localFiles", + localFiles.map((x) => x.uploadStatus) + ); //set uploading flag to true setIsUploading(true); //avoid to call upload if not allowed // flag is already true or there isnt files //url was not provided + if (isUploading || localFiles.length === 0 || !url) { setIsUploading(false); return; } + if (localFiles.length === 0) { + setLocalMessage(DropzoneLocalizer.noFilesMessage as string); + setTimeout(() => { + setIsUploading(false); + }, 1500); + return; + } // initialize a new list of ExtFileInstances let arrOfExtFilesInstances: ExtFileInstance[] = []; @@ -251,11 +263,13 @@ const Dropzone: React.FC<DropzoneProps> = (props: DropzoneProps) => { //no missing to upload if (!(missingUpload > 0)) { console.log("upload start: noFilesMessage", missingUpload); + setTimeout(() => { + if (noMissingFilesLabel) + setLocalMessage(DropzoneLocalizer.noFilesMessage as string); - if (noMissingFilesLabel) - setLocalMessage(DropzoneLocalizer.noFilesMessage as string); + setIsUploading(false); + }, 1500); - setIsUploading(false); return; } @@ -365,37 +379,10 @@ const Dropzone: React.FC<DropzoneProps> = (props: DropzoneProps) => { currentExtFileInstance.uploadStatus = uploadedFile.uploadStatus; currentExtFileInstance.uploadMessage = uploadedFile.uploadMessage; - console.log( - "fake uploadResponse currentExtFileInstance", - currentExtFileInstance - ); - console.log( - "fake uploadResponse currentExtFileInstance", - currentExtFileInstance.uploadStatus - ); - console.log( - "fake uploadResponse currentExtFileInstance", - currentExtFileInstance.uploadMessage - ); - - console.log( - "pre sanitizeArrExtFile", - arrOfExtFilesInstances.map((F) => { - return { status: F.uploadStatus, message: F.uploadMessage }; - }) - ); - //CHANGE if (!(currentExtFileInstance.uploadStatus === "aborted")) await sleepTransition(); - console.log( - "pre sanitizeArrExtFile", - arrOfExtFilesInstances.map((F) => { - return { status: F.uploadStatus, message: F.uploadMessage }; - }) - ); - handleFilesChange(sanitizeArrExtFile(arrOfExtFilesInstances), true); if (uploadedFile.uploadStatus === "error") { @@ -408,7 +395,7 @@ const Dropzone: React.FC<DropzoneProps> = (props: DropzoneProps) => { } } - handleFilesChange(sanitizeArrExtFile(arrOfExtFilesInstances), true); + setLocalFiles(sanitizeArrExtFile(arrOfExtFilesInstances)); // upload group finished :D onUploadFinish?.(serverResponses); diff --git a/src/files-ui/hooks/useDropzoneFileUpdater.ts b/src/files-ui/hooks/useDropzoneFileUpdater.ts index a776c6630bc01ea3972e2ed109244afe3ede255c..267cbd301079d933653d1544da7464a3c238f4c8 100644 --- a/src/files-ui/hooks/useDropzoneFileUpdater.ts +++ b/src/files-ui/hooks/useDropzoneFileUpdater.ts @@ -25,8 +25,9 @@ const useDropzoneFileListUpdater = ( localization?: Localization, validateFilesFlag?: boolean ): [ExtFile[], number, React.Dispatch<React.SetStateAction<ExtFile[]>>] => { - - console.log("FileListUpdater",dropzoneId, value, isUploading, maxFileSize, accept, maxFiles, validateFilesFlag); + console.log("incomming extfiles fileupdater value", value.map(x => x.uploadStatus)); + + console.log("FileListUpdater", dropzoneId, value, isUploading, maxFileSize, accept, maxFiles, validateFilesFlag); //state for managing the files locally const [localFiles, setLocalFiles] = React.useState<ExtFile[]>([]); diff --git a/src/pages/demo/DropzoneDemoPage.jsx b/src/pages/demo/DropzoneDemoPage.jsx index 2ebc285fc15b0892510330433dd66a634521403d..e5d472516748e527de079dccb7b0bb2f8b5a037a 100644 --- a/src/pages/demo/DropzoneDemoPage.jsx +++ b/src/pages/demo/DropzoneDemoPage.jsx @@ -1,5 +1,5 @@ -import { Paper, Alert, AlertTitle } from "@mui/material"; import * as React from "react"; +import { Paper, Alert, AlertTitle } from "@mui/material"; import CodeHighlight from "../../components/codeHighlight/CodeHighlight"; import DescParagraph from "../../components/demo-components/desc-paragraph/DescParagraph"; import BasicDropzoneCodeJS from "../../components/demo-components/dropzone-demo/BasicDropzoneCodeJS";