Skip to content

Commit 6e7c830

Browse files
refactor(common): convert upload-dialog to TypeScript
1 parent 8cf5e9f commit 6e7c830

File tree

4 files changed

+74
-0
lines changed

4 files changed

+74
-0
lines changed
File renamed without changes.
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
import * as React from 'react';
2+
import Modal from 'react-modal';
3+
import { useIntl } from 'react-intl';
4+
import ContentUploader from '../../content-uploader';
5+
import messages from '../messages';
6+
import { CLASS_MODAL_CONTENT_FULL_BLEED, CLASS_MODAL_OVERLAY, CLASS_MODAL } from '../../../constants';
7+
import type { Token } from '../../../common/types/core';
8+
import type { ContentUploaderProps } from '../../content-uploader/ContentUploader';
9+
10+
export interface UploadDialogProps {
11+
apiHost: string;
12+
appElement: HTMLElement;
13+
contentUploaderProps: ContentUploaderProps;
14+
currentFolderId?: string;
15+
isOpen: boolean;
16+
onClose: () => void;
17+
onUpload?: (items: unknown[]) => void;
18+
parentElement: HTMLElement;
19+
requestInterceptor?: Function;
20+
responseInterceptor?: Function;
21+
sharedLink?: string;
22+
sharedLinkPassword?: string;
23+
token: Token;
24+
uploadHost: string;
25+
}
26+
27+
const UploadDialog = ({
28+
isOpen,
29+
currentFolderId,
30+
token,
31+
sharedLink,
32+
sharedLinkPassword,
33+
apiHost,
34+
uploadHost,
35+
onClose,
36+
parentElement,
37+
appElement,
38+
onUpload,
39+
contentUploaderProps,
40+
requestInterceptor,
41+
responseInterceptor,
42+
}: UploadDialogProps) => {
43+
const { formatMessage } = useIntl();
44+
45+
return (
46+
<Modal
47+
appElement={appElement}
48+
className={CLASS_MODAL_CONTENT_FULL_BLEED}
49+
contentLabel={formatMessage(messages.upload)}
50+
isOpen={isOpen}
51+
onRequestClose={onClose}
52+
overlayClassName={CLASS_MODAL_OVERLAY}
53+
parentSelector={() => parentElement}
54+
portalClassName={`${CLASS_MODAL} be-modal-upload`}
55+
>
56+
<ContentUploader
57+
{...contentUploaderProps}
58+
apiHost={apiHost}
59+
onClose={onClose}
60+
onComplete={onUpload}
61+
requestInterceptor={requestInterceptor}
62+
responseInterceptor={responseInterceptor}
63+
rootFolderId={currentFolderId}
64+
sharedLink={sharedLink}
65+
sharedLinkPassword={sharedLinkPassword}
66+
token={token}
67+
uploadHost={uploadHost}
68+
/>
69+
</Modal>
70+
);
71+
};
72+
73+
export default UploadDialog;
File renamed without changes.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { default } from './UploadDialog';

0 commit comments

Comments
 (0)