Skip to content

Commit 7b3842c

Browse files
committed
feat: add helper text to standalone file uploader and update build script
1 parent 06dfa4d commit 7b3842c

File tree

7 files changed

+107
-24
lines changed

7 files changed

+107
-24
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
"scripts": {
6565
"start": "vite --base=/spa",
6666
"build": "tsc && vite build",
67-
"build-uploader": "vite build --config vite.config.uploader.ts && cp -r public/locales dist-uploader/ && cp src/standalone-uploader/dvwebloaderV2.html dist-uploader/",
67+
"build-uploader": "vite build --config vite.config.uploader.ts && cp -r public/locales dist-uploader/ && cp src/standalone-uploader/dvwebloaderV2.html src/standalone-uploader/embeddedDvWebloader.html dist-uploader/",
6868
"build-keycloak-theme": "npm run build && keycloakify build",
6969
"preview": "vite preview",
7070
"lint": "npm run typecheck && npm run lint:eslint && npm run lint:stylelint && npm run lint:prettier",
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
@import 'node_modules/@iqss/dataverse-design-system/src/lib/assets/styles/design-tokens/colors.module';
2+
3+
.helper_text {
4+
color: $dv-subtext-color;
5+
font-size: 14px;
6+
margin-bottom: 1rem;
7+
8+
a {
9+
color: $dv-primary-color;
10+
text-decoration: underline;
11+
12+
&:hover {
13+
text-decoration: none;
14+
}
15+
}
16+
}

src/sections/shared/file-uploader/FileUploaderPanel.tsx

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
*/
77

88
import { useMemo, useCallback } from 'react'
9+
import { Trans, useTranslation } from 'react-i18next'
910
import { useBlocker, useNavigate } from 'react-router-dom'
1011
import { FileRepository } from '@/files/domain/repositories/FileRepository'
1112
import { QueryParamKey, Route } from '@/sections/Route.enum'
@@ -14,6 +15,7 @@ import { ReplaceFileReferrer } from '@/sections/replace-file/ReplaceFileReferrer
1415
import { useFileUploaderContext } from './context/FileUploaderContext'
1516
import { FileUploaderPanelCore } from './FileUploaderPanelCore'
1617
import { ConfirmLeaveModal } from './confirm-leave-modal/ConfirmLeaveModal'
18+
import styles from './FileUploaderPanel.module.scss'
1719

1820
interface FileUploaderPanelProps {
1921
fileRepository: FileRepository
@@ -27,6 +29,7 @@ const FileUploaderPanel = ({
2729
referrer
2830
}: FileUploaderPanelProps) => {
2931
const navigate = useNavigate()
32+
const { t } = useTranslation('shared')
3033

3134
const {
3235
fileUploaderState: { files, isSaving, uploadingToCancelMap },
@@ -80,6 +83,21 @@ const FileUploaderPanel = ({
8083

8184
return (
8285
<>
86+
<p className={styles.helper_text}>
87+
<Trans
88+
t={t}
89+
i18nKey="fileUploader.supportedFiles"
90+
components={{
91+
anchor: (
92+
<a
93+
href="https://guides.dataverse.org/en/latest/user/dataset-management.html#tabular-data-files"
94+
target="_blank"
95+
rel="noreferrer"
96+
/>
97+
)
98+
}}
99+
/>
100+
</p>
83101
<FileUploaderPanelCore
84102
fileRepository={fileRepository}
85103
datasetPersistentId={datasetPersistentId}

src/sections/shared/file-uploader/file-upload-input/FileUploadInput.tsx

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { ChangeEventHandler, DragEventHandler, memo, useCallback, useRef, useState } from 'react'
22
import { Accordion, Button, Card, ProgressBar } from '@iqss/dataverse-design-system'
33
import { ExclamationTriangle, Plus, XLg } from 'react-bootstrap-icons'
4-
import { Trans, useTranslation } from 'react-i18next'
4+
import { useTranslation } from 'react-i18next'
55
import { toast } from 'react-toastify'
66
import cn from 'classnames'
77
import MimeTypeDisplay from '@/files/domain/models/FileTypeToFriendlyTypeMap'
@@ -180,22 +180,6 @@ const FileUploadInput = ({ fileRepository, datasetPersistentId }: FileUploadInpu
180180

181181
return (
182182
<div>
183-
<p className={styles.helper_text}>
184-
<Trans
185-
t={t}
186-
i18nKey="fileUploader.supportedFiles"
187-
components={{
188-
anchor: (
189-
<a
190-
href="https://guides.dataverse.org/en/latest/user/dataset-management.html#tabular-data-files"
191-
target="_blank"
192-
rel="noreferrer"
193-
/>
194-
)
195-
}}
196-
/>
197-
</p>
198-
199183
<Accordion defaultActiveKey="0">
200184
<Accordion.Item eventKey="0">
201185
<Accordion.Header>{t('fileUploader.accordionTitle')}</Accordion.Header>
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
@import 'node_modules/@iqss/dataverse-design-system/src/lib/assets/styles/design-tokens/colors.module';
2+
3+
.helper_text {
4+
color: $dv-subtext-color;
5+
font-size: 14px;
6+
margin-bottom: 1rem;
7+
8+
a {
9+
color: $dv-primary-color;
10+
text-decoration: underline;
11+
12+
&:hover {
13+
text-decoration: none;
14+
}
15+
}
16+
}

src/standalone-uploader/StandaloneFileUploaderPanel.tsx

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,11 @@
66
*/
77

88
import { useEffect, useCallback } from 'react'
9+
import { Trans, useTranslation } from 'react-i18next'
910
import { UploaderFileRepository } from '@/sections/shared/file-uploader/types'
1011
import { useFileUploaderContext } from '@/sections/shared/file-uploader/context/FileUploaderContext'
1112
import { FileUploaderPanelCore } from '@/sections/shared/file-uploader/FileUploaderPanelCore'
13+
import styles from './StandaloneFileUploaderPanel.module.scss'
1214

1315
interface StandaloneFileUploaderPanelProps {
1416
fileRepository: UploaderFileRepository
@@ -21,6 +23,7 @@ export const StandaloneFileUploaderPanel = ({
2123
datasetPersistentId,
2224
siteUrl
2325
}: StandaloneFileUploaderPanelProps) => {
26+
const { t } = useTranslation('shared')
2427
const {
2528
fileUploaderState: { files, isSaving, uploadingToCancelMap }
2629
} = useFileUploaderContext()
@@ -62,11 +65,28 @@ export const StandaloneFileUploaderPanel = ({
6265
}, [getDatasetUrl])
6366

6467
return (
65-
<FileUploaderPanelCore
66-
fileRepository={fileRepository}
67-
datasetPersistentId={datasetPersistentId}
68-
onCancel={handleCancel}
69-
onFilesAddedSuccess={handleFilesAddedSuccess}
70-
/>
68+
<>
69+
<p className={styles.helper_text}>
70+
<Trans
71+
t={t}
72+
i18nKey="fileUploader.supportedFiles"
73+
components={{
74+
anchor: (
75+
<a
76+
href="https://guides.dataverse.org/en/latest/user/dataset-management.html#tabular-data-files"
77+
target="_blank"
78+
rel="noreferrer"
79+
/>
80+
)
81+
}}
82+
/>
83+
</p>
84+
<FileUploaderPanelCore
85+
fileRepository={fileRepository}
86+
datasetPersistentId={datasetPersistentId}
87+
onCancel={handleCancel}
88+
onFilesAddedSuccess={handleFilesAddedSuccess}
89+
/>
90+
</>
7191
)
7292
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<!DOCTYPE html>
2+
<html lang='en'>
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>Upload Files</title>
7+
<!-- DVWebloader V2 Embedded Mode - for use in iframe within Dataverse JSF pages -->
8+
<!-- Configuration: useS3Tagging comes from URL param (from Dataverse JVM setting) -->
9+
<script>
10+
window.dvWebloaderConfig = {
11+
maxRetries: 3,
12+
uploadTimeoutMs: 300000,
13+
disableMD5Checksum: false
14+
};
15+
</script>
16+
<style>
17+
body {
18+
margin: 0;
19+
padding: 10px;
20+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
21+
background-color: transparent;
22+
}
23+
</style>
24+
<script type="module" src="dvwebloader-v2.js"></script>
25+
</head>
26+
<body>
27+
<div id="root"></div>
28+
</body>
29+
</html>

0 commit comments

Comments
 (0)