From 0fab1ce0739811ff8bc02488d32aa2ad184c7b1e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Daniel=20Kuty=C5=82a?= Date: Mon, 18 Oct 2021 14:09:13 +0200 Subject: [PATCH] 18169: Removed cancel disable when uploading MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Arvados-DCO-1.1-Signed-off-by: Daniel Kutyła --- src/common/webdav.ts | 9 +++++++++ src/components/form-dialog/form-dialog.tsx | 14 ++++++++++++-- .../collection-service/collection-service.ts | 2 +- .../collections/collection-upload-actions.ts | 4 +++- .../file-uploader/file-uploader-actions.ts | 1 + .../file-uploader/file-uploader-reducer.ts | 17 +++++++++++++++++ .../dialog-collection-files-upload.tsx | 18 ++++++++++++++++-- .../file-uploader/file-uploader.tsx | 4 ++-- 8 files changed, 61 insertions(+), 8 deletions(-) diff --git a/src/common/webdav.ts b/src/common/webdav.ts index 758a5e18..93ec21cb 100644 --- a/src/common/webdav.ts +++ b/src/common/webdav.ts @@ -84,6 +84,15 @@ export class WebDAV { .keys(headers) .forEach(key => r.setRequestHeader(key, headers[key])); + if (!(window as any).cancelTokens) { + Object.assign(window, { cancelTokens: {} }); + } + + (window as any).cancelTokens[config.url] = () => { + resolve(r); + r.abort(); + } + if (config.onUploadProgress) { r.upload.addEventListener('progress', config.onUploadProgress); } diff --git a/src/components/form-dialog/form-dialog.tsx b/src/components/form-dialog/form-dialog.tsx index 19145cea..0fc799de 100644 --- a/src/components/form-dialog/form-dialog.tsx +++ b/src/components/form-dialog/form-dialog.tsx @@ -42,7 +42,9 @@ interface DialogProjectDataProps { dialogTitle: string; formFields: React.ComponentType & WithDialogProps>; submitLabel?: string; + cancelCallback?: Function; enableWhenPristine?: boolean; + doNotDisableCancel?: boolean; } type DialogProjectProps = DialogProjectDataProps & WithDialogProps<{}> & InjectedFormProps & WithStyles; @@ -65,10 +67,18 @@ export const FormDialog = withStyles(styles)((props: DialogProjectProps) =>