From 187d7817267be96dc043acebdd8d5647c353a48e Mon Sep 17 00:00:00 2001 From: Abhinav-grd Date: Tue, 2 Feb 2021 18:11:22 +0530 Subject: [PATCH] added try catch block to dropzone Callback and setErrorCode on errors --- .../gallery/components/CollectionDropZone.tsx | 40 ++++++++++--------- .../gallery/components/CreateCollection.tsx | 30 ++++++++------ 2 files changed, 40 insertions(+), 30 deletions(-) diff --git a/src/pages/gallery/components/CollectionDropZone.tsx b/src/pages/gallery/components/CollectionDropZone.tsx index 85a916d47..463195915 100644 --- a/src/pages/gallery/components/CollectionDropZone.tsx +++ b/src/pages/gallery/components/CollectionDropZone.tsx @@ -31,26 +31,30 @@ export const DropDiv = styled.div` transition: border 0.24s ease-in-out; `; -function CollectionDropZone({ - children, - closeModal, - showModal, - refetchData, - collectionLatestFile, - setProgressView, - progressBarProps - -}) { - +function CollectionDropZone(props) { + const { children, + closeModal, + showModal, + refetchData, + collectionLatestFile, + setProgressView, + progressBarProps, setErrorCode } = props const upload = async (acceptedFiles) => { - const token = getToken(); - closeModal(); - progressBarProps.setPercentComplete(0); - setProgressView(true); + try { + const token = getToken(); + closeModal(); + progressBarProps.setPercentComplete(0); + setProgressView(true); - await UploadService.uploadFiles(acceptedFiles, collectionLatestFile, token, progressBarProps); - refetchData(); - setProgressView(false); + await UploadService.uploadFiles(acceptedFiles, collectionLatestFile, token, progressBarProps); + refetchData(); + } catch (err) { + if (err.response) + setErrorCode(err.response.status); + } + finally { + setProgressView(false); + } } return ( { setAlbumName(event.target.value); } @@ -27,22 +27,28 @@ export default function CreateCollection(props) { setAlbumName(commonPathPrefix); }, [acceptedFiles]); const handleSubmit = async (event) => { - const token = getToken(); - event.preventDefault(); + try { + const token = getToken(); + event.preventDefault(); - closeModal(); - closeUploadModal(); + closeModal(); + closeUploadModal(); - const collection = await createAlbum(albumName); + const collection = await createAlbum(albumName); - const collectionLatestFile: collectionLatestFile = { collection, file: null } + const collectionLatestFile: collectionLatestFile = { collection, file: null } - progressBarProps.setPercentComplete(0); - setProgressView(true); + progressBarProps.setPercentComplete(0); + setProgressView(true); - await UploadService.uploadFiles(acceptedFiles, collectionLatestFile, token, progressBarProps); - refetchData(); - setProgressView(false); + await UploadService.uploadFiles(acceptedFiles, collectionLatestFile, token, progressBarProps); + refetchData(); + setProgressView(false); + } + catch (err) { + if (err.response) + setErrorCode(err.response.status); + } } return (