From 3480d7da3f2e47cfcf151c68701f5629aeb0c9be Mon Sep 17 00:00:00 2001 From: Rushikesh Tote Date: Wed, 13 Apr 2022 10:00:54 +0530 Subject: [PATCH] added cancel uploads button --- .../pages/gallery/UploadProgress.tsx | 297 ++++++++++-------- src/utils/strings/englishConstants.tsx | 4 + 2 files changed, 165 insertions(+), 136 deletions(-) diff --git a/src/components/pages/gallery/UploadProgress.tsx b/src/components/pages/gallery/UploadProgress.tsx index 60796ca6b..0c4b8aacd 100644 --- a/src/components/pages/gallery/UploadProgress.tsx +++ b/src/components/pages/gallery/UploadProgress.tsx @@ -10,6 +10,7 @@ import constants from 'utils/strings/constants'; import { ButtonVariant, getVariantColor } from './LinkButton'; import { FileUploadResults, UPLOAD_STAGES } from 'constants/upload'; import FileList from 'components/FileList'; +import MessageDialog from 'components/MessageDialog'; interface Props { fileCounter; uploadStage; @@ -168,6 +169,8 @@ const InProgressSection = (props: InProgressProps) => { }; export default function UploadProgress(props: Props) { + const [showCancelDialog, setShowCancelDialog] = useState(false); + const fileProgressStatuses = [] as FileProgresses[]; const fileUploadResultMap = new Map(); let filesNotUploaded = false; @@ -198,146 +201,168 @@ export default function UploadProgress(props: Props) { } return ( - null - : props.closeModal - } - aria-labelledby="contained-modal-title-vcenter" - centered - backdrop={fileProgressStatuses?.length !== 0 ? 'static' : true}> - -

- {props.uploadStage === UPLOAD_STAGES.UPLOADING - ? constants.UPLOAD[props.uploadStage](props.fileCounter) - : constants.UPLOAD[props.uploadStage]} -

-
- - {(props.uploadStage === - UPLOAD_STAGES.READING_GOOGLE_METADATA_FILES || - props.uploadStage === UPLOAD_STAGES.EXTRACTING_METADATA || - props.uploadStage === UPLOAD_STAGES.UPLOADING) && ( - - )} - {props.uploadStage === UPLOAD_STAGES.UPLOADING && ( - + { + setShowCancelDialog(true); + } + : props.closeModal + } + aria-labelledby="contained-modal-title-vcenter" + centered + backdrop={fileProgressStatuses?.length !== 0 ? 'static' : true}> + +

+ {props.uploadStage === UPLOAD_STAGES.UPLOADING + ? constants.UPLOAD[props.uploadStage]( + props.fileCounter + ) + : constants.UPLOAD[props.uploadStage]} +

+
+ + {(props.uploadStage === + UPLOAD_STAGES.READING_GOOGLE_METADATA_FILES || + props.uploadStage === + UPLOAD_STAGES.EXTRACTING_METADATA || + props.uploadStage === UPLOAD_STAGES.UPLOADING) && ( + + )} + {props.uploadStage === UPLOAD_STAGES.UPLOADING && ( + + )} + + - )} - - - {props.uploadStage === UPLOAD_STAGES.FINISH && - filesNotUploaded && ( - - {constants.FILE_NOT_UPLOADED_LIST} - - )} - - - - - - - - - {props.uploadStage === UPLOAD_STAGES.FINISH ? ( - {props.uploadStage === UPLOAD_STAGES.FINISH && - (fileUploadResultMap?.get(FileUploadResults.FAILED) - ?.length > 0 || - fileUploadResultMap?.get(FileUploadResults.BLOCKED) - ?.length > 0 ? ( - - ) : ( - - ))} - - ) : ( - - - + filesNotUploaded && ( + + {constants.FILE_NOT_UPLOADED_LIST} + + )} + + + + + + + +
+ {props.uploadStage === UPLOAD_STAGES.FINISH && ( + + {props.uploadStage === UPLOAD_STAGES.FINISH && + (fileUploadResultMap?.get(FileUploadResults.FAILED) + ?.length > 0 || + fileUploadResultMap?.get(FileUploadResults.BLOCKED) + ?.length > 0 ? ( + + ) : ( + + ))} + + )} +
+ {showCancelDialog && ( + { + setShowCancelDialog(false); + }} + attributes={{ + title: constants.STOP_UPLOADS_HEADER, + content: constants.STOP_ALL_UPLOADS_MESSAGE, + proceed: { + text: constants.YES_STOP_UPLOADS, + variant: 'danger', + action: props.cancelUploads, + }, + close: { + text: constants.NO, + variant: 'secondary', + action: () => {}, + }, + }} + /> )} - + ); } diff --git a/src/utils/strings/englishConstants.tsx b/src/utils/strings/englishConstants.tsx index 32f200b73..6d8e081fe 100644 --- a/src/utils/strings/englishConstants.tsx +++ b/src/utils/strings/englishConstants.tsx @@ -708,6 +708,10 @@ const englishConstants = { you believe are duplicates{' '} ), + STOP_ALL_UPLOADS_MESSAGE: + 'are you sure that you want to stop all the uploads in progress?', + STOP_UPLOADS_HEADER: 'stop uploads?', + YES_STOP_UPLOADS: 'yes, stop uploads', }; export default englishConstants;